import Comfirm from './xtx-confirm.vue'
import { createVNode, render } from 'vue'

// 准备DOM
const div = document.createElement('div')
div.setAttribute('class', 'xtx-confirm-container')
document.body.appendChild(div)

// 返回一个Promise  确定、销毁 需要销毁组件
export default ({ text, title }) => {
  return new Promise((resolve, reject) => {
    const cancelCallback = () => {
      render(null, div) // 销毁组件
      reject(new Error('点击了取消'))
    }

    const submitCallback = () => {
      render(null, div)
      resolve()
    }
    const vn = createVNode(Comfirm, { title, text, cancelCallback, submitCallback })
    render(vn, div)
  })
}

/*
  1、导入被创建的组件
  2、使用createVNode创建虚拟节点
  3、准备一个DOM容器装载组件
  4、使用render渲染组件
*/
